home *** CD-ROM | disk | FTP | other *** search
- ☆☆☆☆ COMPACK テクニカルマニュアル ☆☆☆☆
- 第1.00版 1992.02.15
-
- ■ 動作原理 ■
- 「COMファイルは実行時、常に64Kのセグメント一つに読み込まれる」
- という原理を用いて、その読み込まれる1ファイルに「沢山プログラムをく
- っつけ」て、「実行されるプログラムで再配置する」という手法を取ってい
- ます。このファイル(ベースファイル)の構造については事項で触れることに
- する。なお、ベースファイルに他プログラムをリンクする作業は、独立した
- 別プログラム(COMPACK.EXE) を用いて行うこととする。
- このプログラムの動作プロセスは、大体以下のようになっている。
-
- ***************
- *コマンドラインより呼び出し*
- ***************
- |パラメータが指定されている?
- |
- | N************
- +----*登録ファイル一覧表示*
- Y| ************
- ***************
- *指定コマンドの存在チェック*
- ***************
- |
- ******************
- *コマンドラインパラメータの再解釈*
- * (DTA/FCB の設定)*
- ******************
- |
- ***********************
- *目的プログラムリロケート用プログラム *
- * のリロケート*
- ***********************
- |
- ***********************
- *リロケート用プログラム(上記)で *
- * 目的プログラムを $100~に配置 *
- ***********************
- |
- *************
- *目的のプログラムを実行*
- *************
-
-
- ■ ベースファイル ■
- ベースファイルとは、パックされたプログラムの一覧、そして実行のみを
- サポートするプログラムのことであり、実際にはターゲットファイルと連結
- された状態で読み込み&実行される。
-
- 1.ベースファイルのフォーマット(連結前)
-
- 先頭からの
- オフセット
- +0000-0001 : EB 09 (JMP 010BH)
- +0002-0008 : 'COMPACK' ID-NAME
- +0009-000A : HEADER(intel) ヘッダー実アドレス
- +000B- : 本体プログラム
- 最終位置 : 00 連結プログラム数
- (HEADER)
-
- 2.ベースファイルのフォーマット(連結後)
-
- ベースファイル末尾
- からの オフセット
-
- -0001(HEADER) : number 連結プログラム数(デフォルト=00)
-
- +0000-0007 : filename1 プログラム名1(.comを取ったもの)
- +0008-0009 : filesize1(intel) プログラム1のサイズ
- +000A-000B : address(intel) プログラム格納位置(先頭実アドレス)
- +000C : compress 圧縮フラグ(予約)
- +000D-000F : date タイムスタンプ(予約)
- +0010-001f : program2 上記データの繰り返し
- +0020-002f : program3 上記データの繰り返し
- : : : :
- : : : :
-
- ヘッダー終了位置より、各プログラムがシーケンシャルに格納されている。
-